[Amazon Connect]プロンプトの操作を行えるWebベースのサンプルソリューションを触ってみた
こんにちは、洲崎です。
2023/5にAmazon Connectで音声プロンプトの操作がAPI(AWS CLIやCloudFormatiron等)を使って行えるようになりました。
そのAPIを利用して、Webベースで音声プロンプトの操作を行えるサンプルソリューションがAWS Blogで紹介されていたので試してみました。
構成
このサンプルはブログにあるCloudFormationを実行して構築します。
(AWS Blogより抜粋)
CloudFormationを実行すると、S3バケットとCloudFrontの環境がデプロイされます。
※CloudFrontはパブリックにアクセスが可能な状態でデプロイされますので、必要に応じてアクセス制御を実施してください。
前提条件
このサンプルを利用するには、以下の前提条件を満たす必要があります。
サンプル構築時
- 最低限、以下の権限を持つIAMユーザーが必要です
- Amazon Connectコンソールにログインできる(プロンプトの内容を確認できる)
- IAMのポリシーとロール作成ができる
- CloudFrontのディストリビューションを作成できる
- S3バケットを作成できる
- CloudFormationを実行できる
サンプル利用時
- サンプルを利用する際、IAMユーザーの認証を利用しますので、別で利用者用のIAMユーザーの準備とアクセスキー・シークレットキーの発行が必要です
- 合わせて、Amazon ConnectのプロンプトのAPIを実行するポリシーの権限が必要です(以下は最低限必要な権限が記載されています)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:GetObject", "connect:DescribeInstance", "connect:UntagResource", "connect:ListPrompts", "connect:TagResource", "s3:ListBucket" ], "Resource": [ "arn:aws:connect:YOUR_REGION:YOUR_ACCOUNT_ID:instance/YOUR_INSTANCE_ID", "arn:aws:s3:::YOUR_S3_BUCKET_NAME/*", "arn:aws:s3:::YOUR_S3_BUCKET_NAME" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "connect:CreatePrompt", "connect:UpdatePrompt", "connect:DescribePrompt", "connect:UntagResource", "connect:DeletePrompt", "connect:TagResource", "connect:GetPromptFile" ], "Resource": "arn:aws:connect:YOUR_REGION:YOUR_ACCOUNT_ID:instance/YOUR_INSTANCE_ID/prompt/*" }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": "connect:ListInstances", "Resource": "*" } ] }
また、このサンプルは東京リージョンでも利用可能です。(今回は東京リージョンで試します)
やってみる
CloudFormation スタックの作成
AWSマネジメントコンソールにログインし、AWS Blogで紹介されているCloudFormationのリンクをクリックしてスタックを実行します。
ステータスがCREATE_COMPLETE
になることを確認します。
出力
のタブで表示されているCloudFrontのURLを別タブで開きます。
これで、構築は完了です。(早っ)
Webベースのサンプルソリューションを触る
CloudFrontのURLを開くと、「Amazon Connect Prompt APIs」というWebページが表示されます。
IAMの設定がポップアップで表示されるので、Access Key
、Region
(今回はap-northeast-1
)、Secret Key
、Instance ARN
を入力します。
Instance ARNはAWSマネジメントコンソールのAmazon Connect
→概要
→Distribution settings
から確認が可能です。
認証が成功したら、プロンプトの操作ができるようになります。
List Prompts
「List Prompts」は、Amazon Connectに設定しているプロンプトの一覧を表示させることができます。
右側のJSON Output
でid
やArn
、Name
をJSON形式で確認することができます。
Create Prompts
「Create Prompt」は、S3にあるwavファイルをAmazon Connectにプロンプトとして登録する機能です。
事前に、S3にwavファイルを置いてS3 URI
をコピーします。
「Create Prompt」をクリックして、登録する名前(Name)、説明(Description)と、コピーしたS3 URIを貼り付けます。
「Update Prompt」をクリックすると、新規でプロンプトを登録することができました。
Amazon Connectコンソールからでも、プロンプトが登録されている確認がとれました。
Update Prompts & Describe Prompt
「Update Prompt」は名前の通り、プロンプトの情報を編集・上書きする機能です。
今回はDescriptionをsample20230829
から、sample20230829-suzaki
に変えて、Update Promptをクリックしてみます。(スクショには記載ないですが、S3 URIの情報も必要です)
「Describe Prompt」で変更したプロンプトの情報を確認したところ、Descriptionを変更した確認をとることができました。
Get Prompt File
1つプロンプトを選択して、「Get Prompt File」をクリックしたら、別タブが開いてプロンプトの音声を聞くことができました。
Delete Prompt
「Delete Prompt」をクリックしたら、警告のポップアップが表示されました。
「Yes」をクリックしたら、今回作成したsample20230829
を削除することができました。
これで、機能の検証は終了です。
清掃
CloudFormationの作成したスタックのリソースを見にいき、S3バケットが2つあることを確認します。
それぞれ物理IDからS3バケットに飛び、中身を空にします。
その後、CloudFormationのスタックを削除します。
検証用で作成したIAMユーザーやIAMポリシーなども必要に応じて削除してください。
最後に
Amazon Connectのプロンプトの操作を行えるWebベースのサンプルソリューションを試してみました。
APIが対応されたので、CloudFormationやAWS CLIで作業できるようになったのと同時に、GUIベースのソリューションも作りやすくなったなと実感じました。
普段CLIとかはあまり触れていない方で、1つの画面で複数のプロンプトの内容を確認したいなどある場合は、試してみてはいかがでしょうか。
ではまた!コンサルティング部の洲崎でした。